package com.settlement.system.model.vo;

import com.alibaba.excel.annotation.ExcelIgnore;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
import com.alibaba.excel.annotation.ExcelProperty;
        import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.Map;

/**
* <p>
* 天猫账单导入VO
* </p>
*
* @author huangrensen
* @since 2024-04-15
*/
@Schema
@Data
public class TmBillImportVo implements Serializable {
    @ExcelProperty(value = "订单编号")
    private String orderNo;
    @ExcelProperty(value = "主订单编号")
    private String mainOrderNo;
    @ExcelProperty(value = "补差订单")
    private String bcOrder;
    @ExcelProperty(value = "淘特订单")
    private String ttOrder;
    @ExcelProperty(value = "支付单号")
    private String payNo;
    @ExcelProperty(value = "订单状态")
    private String orderStatus;
    @ExcelProperty(value = "订单类型")
    private String orderType;
    @ExcelProperty(value = "订单关闭原因")
    private String cancelReason;
    @ExcelProperty(value = "订单创建时间")
    private String orderCreateTime;
    @ExcelProperty(value = "订单付款时间")
    private String orderPayTime;
    @ExcelProperty(value = "发货时间")
    private String sendTime;
    @ExcelProperty(value = "确认收货时间")
    private String confirmReceiveTime;
    @ExcelProperty(value = "应发货时间")
    private String shouldSendTime;
    @ExcelProperty(value = "订单表ID")
    private String orderId;
    @ExcelProperty(value = "买家应付货款")
    private String buyerPayableAmount;
    @ExcelProperty(value = "买家应付邮费")
    private String buyerPayablePostage;
    @ExcelProperty(value = "总金额")
    private String buyerPayableTotalAmount;
    @ExcelProperty(value = "买家实际支付金额")
    private String buyerPayableActAmount;
    @ExcelProperty(value = "卖家服务费")
    private String sellerServiceAmount;
    @ExcelProperty(value = "买家服务费")
    private String buyerServiceAmount;
    @ExcelProperty(value = "购物金充值本金")
    private String purchaseRechargeAmount;
    @ExcelProperty(value = "购物金充值权益金")
    private String purchaseRechargeQyAmount;
    @ExcelProperty(value = "购物金消费本金")
    private String purchaseConsumeAmount;
    @ExcelProperty(value = "购物金消费权益金")
    private String purchaseConsumeQyAmount;
    @ExcelProperty(value = "退款金额")
    private String refundAmount;
    @ExcelProperty(value = "天猫卡券抵扣")
    private String cardDeduction;
    @ExcelProperty(value = "集分宝抵扣")
    private String jfbDeduction;
    @ExcelProperty(value = "打款商家金额")
    private String payoutsAmount;
    @ExcelProperty(value = "含应开票给个人的个人红包")
    private String personalRedPackets;
    @ExcelProperty(value = "前N有礼")
    private String nGift;
    @ExcelProperty(value = "返现金额")
    private String cashbackAmount;
    @ExcelProperty(value = "延迟发货主动赔付金额")
    private String delaySendIndemnityAmount;
    @ExcelProperty(value = "交易付款")
    private String tradePayAmount;
    @ExcelProperty(value = "售后退款")
    private String afterSalesAmount;
    @ExcelProperty(value = "花呗支付服务费")
    private String hbPayableAmount;
    @ExcelProperty(value = "代扣返点积分")
    private String dkReturnPoints;
    @ExcelProperty(value = "代扣款 天猫佣金 类目")
    private String commissionSubjects;
    @ExcelProperty(value = "信用卡支付服务费")
    private String creditCardPayableAmount;
    @ExcelProperty(value = "淘宝内容推广服务费")
    private String popularizeAmount;
    @ExcelProperty(value = "聚划算佣金")
    private String jhsAmount;
    @ExcelProperty(value = "代扣款-天猫佣金-赠品")
    private String commissionGifts;
    @ExcelProperty(value = "保险承保-卖家版运费险保费收取")
    private String chargeServiceAmount;
    @ExcelProperty(value = "淘宝客佣金代扣款")
    private String tbkCommissionAmount;
    @ExcelProperty(value = "保险承保-天猫海外退货险保费收取")
    private String chargeReturnAmount;
    @ExcelProperty(value = "保险承保-聚划算运费险保费收取")
    private String jhsServiceAmount;
    @ExcelProperty(value = "保证金退款")
    private String depositAmount;
    @ExcelProperty(value = "代扣款-“海外零售计划”供应链管理服务费扣款")
    private String supplyChainAmount;
    @ExcelProperty(value = "保险理赔-天猫海外退货险理赔款")
    private String claimsAmount;
    @ExcelProperty(value = "代扣款-天猫佣金-补差价/邮费")
    private String differencePostAmount;
    @ExcelProperty(value = "代扣款-天猫佣金-类目系统")
    private String subjectsSystem;
    @ExcelProperty(value = "保险承保-严选直播运费险保费收取")
    private String broadcastServiceAmount;
    @ExcelProperty(value = "品牌新享-首单拉新计划")
    private String newPlan;
    @ExcelProperty(value = "信用购分期-保证金退款")
    private String creditDepositAmount;
    @ExcelProperty(value = "其他")
    private String other;
    @ExcelProperty(value = "宝贝总数量")
    private String productQty;
    @ExcelProperty(value = "支付详情")
    private String payDetail;
    @ExcelProperty(value = "买家支付积分")
    private String buyerPoints;
    @ExcelProperty(value = "返点积分")
    private String returnPoints;
    @ExcelProperty(value = "买家实际支付积分")
    private String buyerActPoints;
    @ExcelProperty(value = "买家留言")
    private String buyerRemark;
    @ExcelProperty(value = "运送方式")
    private String transportType;
    @ExcelProperty(value = "宝贝标题")
    private String productTitle;
    @ExcelProperty(value = "宝贝种类")
    private String productType;
    @ExcelProperty(value = "物流单号")
    private String transportNo;
    @ExcelProperty(value = "物流公司")
    private String transportCompany;
    @ExcelProperty(value = "备注标签")
    private String remarkLabel;
    @ExcelProperty(value = "商家备注")
    private String sellerRemark;
    @ExcelProperty(value = "店铺Id")
    private String tmStoreId;
    @ExcelProperty(value = "店铺名称")
    private String tmStoreName;
    @ExcelProperty(value = "发票抬头")
    private String invoiceTitle;
    @ExcelProperty(value = "是否手机订单")
    private String phoneBill;
    @ExcelProperty(value = "分阶段订单信息")
    private String phasedOrderInfo;
    @ExcelProperty(value = "特权订金订单id")
    private String depositOrderId;
    @ExcelProperty(value = "是否上传合同照片")
    private String uploadContract;
    @ExcelProperty(value = "是否上传小票")
    private String uploadReceipts;
    @ExcelProperty(value = "是否代付")
    private String otherPay;
    @ExcelProperty(value = "定金排名")
    private String depositRanking;
    @ExcelProperty(value = "修改后的sku")
    private String modifySku;
    @ExcelProperty(value = "异常信息")
    private String exceptionMessage;
    @ExcelProperty(value = "是否是O2O交易")
    private String oto;
    @ExcelProperty(value = "新零售交易类型")
    private String newTradeType;
    @ExcelProperty(value = "新零售导购门店名称")
    private String newTradeStoreName;
    @ExcelProperty(value = "新零售导购门店id")
    private String newTradeSellerId;
    @ExcelProperty(value = "新零售发货门店名称")
    private String newTradeSendStoreName;
    @ExcelProperty(value = "新零售发货门店id")
    private String newTradeSendStoreId;
    @ExcelProperty(value = "预约门店")
    private String bookStore;
    @ExcelProperty(value = "是否信用购")
    private String creditCard;
    @ExcelProperty(value = "体验期结束时间")
    private String trialEndTime;
    @ExcelProperty(value = "配送类型")
    private String distributionType;
    @ExcelProperty(value = "直播返现状态")
    private String broadcastReturnStatus;
    @ExcelProperty(value = "是否赔付")
    private String claims;
    @ExcelProperty(value = "赔付出账时间")
    private String claimsTime;
    @ExcelProperty(value = "新零售成交门店昵称")
    private String newTradeDealStore;
    @ExcelProperty(value = "新零售成交门店id")
    private String newTradeDealStoreId;
    @ExcelProperty(value = "新零售成交经销商id")
    private String newTradeDealer;
    @ExcelProperty(value = "预售订单")
    private String preSaleOrder;
    @ExcelProperty(value = "预售订单商家备注")
    private String preSaleSellerRemark;
    @ExcelProperty(value = "预售下沉结果")
    private String preSaleResult;
    @ExcelProperty(value = "hold状态")
    private String hoverStatus;


    // 辅助字段
    @ExcelIgnore
    private String billMonth;
    @ExcelIgnore
    private Long storeId;
    @ExcelIgnore
    private String uuid;

    public static Map<String, String> getKeyMap(){
        Map<String, String> map = new HashMap<>();
        map.put("订单编号", "orderNo");
        map.put("支付单号", "payNo");
        map.put("订单状态", "orderStatus");
        map.put("订单关闭原因", "cancelReason");
        map.put("订单创建时间", "orderCreateTime");
        map.put("订单付款时间", "orderPayTime");
        map.put("发货时间", "sendTime");
        map.put("确认收货时间", "confirmReceiveTime");
        map.put("应发货时间", "shouldSendTime");
        map.put("买家应付货款", "buyerPayableAmount");
        map.put("买家应付邮费", "buyerPayablePostage");
        map.put("总金额", "buyerPayableTotalAmount");
        map.put("买家实际支付金额", "buyerPayableActAmount");
        map.put("卖家服务费", "sellerServiceAmount");
        map.put("买家服务费", "buyerServiceAmount");
        map.put("购物金充值本金", "purchaseRechargeAmount");
        map.put("购物金充值权益金", "purchaseRechargeQyAmount");
        map.put("购物金消费本金", "purchaseConsumeAmount");
        map.put("购物金消费权益金", "purchaseConsumeQyAmount");
        map.put("退款金额", "refundAmount");
        map.put("天猫卡券抵扣", "cardDeduction");
        map.put("集分宝抵扣", "jfbDeduction");
        map.put("打款商家金额", "payoutsAmount");
        map.put("含应开票给个人的个人红包", "personalRedPackets");
        map.put("前N有礼", "nGift");
        map.put("返现金额", "cashbackAmount");
        map.put("延迟发货主动赔付金额", "delaySendIndemnityAmount");
        map.put("交易付款", "tradePayAmount");
        map.put("售后退款", "afterSalesAmount");
        map.put("花呗支付服务费", "hbPayableAmount");
        map.put("代扣返点积分", "dkReturnPoints");
        map.put("代扣款 天猫佣金 类目", "commissionSubjects");
        map.put("信用卡支付服务费", "creditCardPayableAmount");
        map.put("淘宝内容推广服务费", "popularizeAmount");
        map.put("聚划算佣金", "jhsAmount");
        map.put("代扣款-天猫佣金-赠品", "commissionGifts");
        map.put("保险承保-卖家版运费险保费收取", "chargeServiceAmount");
        map.put("淘宝客佣金代扣款", "tbkCommissionAmount");
        map.put("保险承保-天猫海外退货险保费收取", "chargeReturnAmount");
        map.put("保险承保-聚划算运费险保费收取", "jhsServiceAmount");
        map.put("保证金退款", "depositAmount");
        map.put("代扣款-“海外零售计划”供应链管理服务费扣款", "supplyChainAmount");
        map.put("保险理赔-天猫海外退货险理赔款", "claimsAmount");
        map.put("代扣款-天猫佣金-补差价/邮费", "differencePostAmount");
        map.put("代扣款-天猫佣金-类目系统", "subjectsSystem");
        map.put("保险承保-严选直播运费险保费收取", "broadcastServiceAmount");
        map.put("品牌新享-首单拉新计划", "newPlan");
        map.put("信用购分期-保证金退款", "creditDepositAmount");
        map.put("其他", "other");
        map.put("宝贝总数量", "productQty");
        map.put("支付详情", "payDetail");
        map.put("买家支付积分", "buyerPoints");
        map.put("返点积分", "returnPoints");
        map.put("买家实际支付积分", "buyerActPoints");
        map.put("买家留言", "buyerRemark");
        map.put("运送方式", "transportType");
        map.put("宝贝标题", "productTitle");
        map.put("宝贝种类", "productType");
        map.put("物流单号", "transportNo");
        map.put("物流公司", "transportCompany");
        map.put("备注标签", "remarkLabel");
        map.put("商家备注", "sellerRemark");
        map.put("店铺Id", "tmStoreId");
        map.put("店铺名称", "tmStoreName");
        map.put("发票抬头", "invoiceTitle");
        map.put("是否手机订单", "phoneBill");
        map.put("分阶段订单信息", "phasedOrderInfo");
        map.put("特权订金订单id", "depositOrderId");
        map.put("是否上传合同照片", "uploadContract");
        map.put("是否上传小票", "uploadReceipts");
        map.put("是否代付", "otherPay");
        map.put("定金排名", "depositRanking");
        map.put("修改后的sku", "modifySku");
        map.put("异常信息", "exceptionMessage");
        map.put("是否是O2O交易", "oto");
        map.put("新零售交易类型", "newTradeType");
        map.put("新零售导购门店名称", "newTradeStoreName");
        map.put("新零售导购门店id", "newTradeSellerId");
        map.put("新零售发货门店名称", "newTradeSendStoreName");
        map.put("新零售发货门店id", "newTradeSendStoreId");
        map.put("预约门店", "bookStore");
        map.put("是否信用购", "creditCard");
        map.put("体验期结束时间", "trialEndTime");
        map.put("配送类型", "distributionType");
        map.put("直播返现状态", "broadcastReturnStatus");
        map.put("是否赔付", "claims");
        map.put("赔付出账时间", "claimsTime");
        map.put("新零售成交门店昵称", "newTradeDealStore");
        map.put("新零售成交门店id", "newTradeDealStoreId");
        map.put("新零售成交经销商id", "newTradeDealer");
        map.put("预售订单", "preSaleOrder");
        map.put("预售订单商家备注", "preSaleSellerRemark");
        map.put("预售下沉结果", "preSaleResult");
        map.put("hold状态", "hoverStatus");
        return map;
    }
}
